package com.aidex.common.core.domain.entity;

import com.aidex.common.core.domain.BaseTreeEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

@Data
@EqualsAndHashCode(callSuper = true)
@Api(tags = "部门对象")
public class SysDept extends BaseTreeEntity<SysDept> {

    @ApiModelProperty("部门编号")
    @NotBlank(message = "部门编码不能为空")
    @Size(max = 30, message = "部门名称长度不能超过30个字符")
    private String deptCode;

    @ApiModelProperty("部门名称")
    @NotBlank(message = "部门名称不能为空")
    @Size(max = 30, message = "部门名称长度不能超过30个字符")
    private String deptName;

    @ApiModelProperty("负责人")
    private String leader;

    @ApiModelProperty("联系电话")
    @Size(max = 11, message = "联系电话长度不能超过11个字符")
    private String phone;

    @ApiModelProperty("邮箱")
    @Email(message = "邮箱格式不正确")
    @Size(max = 50, message = "邮箱长度不能超过50个字符")
    private String email;

    @ApiModelProperty("部门状态")
    private String status;

    @ApiModelProperty("部门全称")
    @Size(max = 200, message = "部门全称长度不能超过200个字符")
    private String deptFullName;

    @ApiModelProperty("部门类型")
    private String deptType;

    @ApiModelProperty("联系地址")
    private String address;

    @ApiModelProperty("邮编")
    private String zipCode;

    @ApiModelProperty("部门拼音")
    private String deptPinyin;

    @ApiModelProperty("部门简称")
    private String subtitle;

    @ApiModelProperty("上级部门名称")
    private String parentName;

    @ApiModelProperty("上级部门类型")
    private String parentDeptType;
}
